package com.emmmya.ocs.config.autoRunner.task;

import com.emmmya.ocs.modules.system.file.entity.Directory;
import com.emmmya.ocs.modules.system.file.service.DirectoryService;
import com.emmmya.ocs.modules.system.file.service.FileService;
import com.emmmya.ocs.common.base.AbstractDefaultTask;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * @description: 自检文件夹、文件管理器的任务
 * @author: 咕噜肉IT小店-黑医
 * @createDate: 2020-11-06
 * @version: 1.0
 */
@Component
public class SelfCheckingFileManagementTask extends AbstractDefaultTask {
    //文件夹service层
    @Autowired
    private DirectoryService directoryService;
    //文件service层
    @Autowired
    private FileService fileService;

    public SelfCheckingFileManagementTask(){
        this.setTaskName("自检文件任务");
        this.setOrder(2);
    }

    /**
     * 检查文件管理页面是否存在根目录
     * @return false表示已存在，true表示未存在，并自动生成好
     */
    @Override
    public boolean run() {
        try {
            setResultFlag(false);
            Directory root = directoryService.getRoot();
            if(root == null){
                setResultFlag(true);
                root = new Directory();
                root.setIsRoot("Y");
                root.setPath("/");
                directoryService.save(root);
                setMessage("检查文件管理中，不存在根目录，系统自动创建！！");
            }else {
                setMessage("检查文件管理中...存在根目录");
            }
        } catch (Exception e) {
            e.printStackTrace();
            setResultFlag(false);
            this.setMessage("["+getTaskName()+"]:自检出错.");
        }
        return isResultFlag();
    }
}
